
// pages/login/login.js
const app = getApp()

Page({
  /**
   * 页面的初始数据
   */
  data: {
    phone: '',
    password: '',
    showPassword: false,
    canLogin: false,
    errors: {
      phone: '',
      password: ''
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 检查是否已经登录
    if (app.globalData.isLoggedIn) {
      wx.switchTab({
        url: '/pages/index/index',
      })
    }
  },

  /**
   * 手机号输入处理
   */
  inputPhone: function (e) {
    const phone = e.detail.value
    let error = ''
    
    if (phone && !/^1[3-9]\d{9}$/.test(phone)) {
      error = '请输入正确的11位手机号码'
    }
    
    this.setData({
      phone,
      'errors.phone': error
    })
    
    this.checkCanLogin()
  },

  /**
   * 密码输入处理
   */
  inputPassword: function (e) {
    const password = e.detail.value
    let error = ''
    
    if (password && password.length < 6) {
      error = '密码长度不能少于6位'
    }
    
    this.setData({
      password,
      'errors.password': error
    })
    
    this.checkCanLogin()
  },

  /**
   * 切换密码可见性
   */
  togglePasswordVisibility: function () {
    this.setData({
      showPassword: !this.data.showPassword
    })
  },

  /**
   * 检查是否可以登录
   */
  checkCanLogin: function () {
    const { phone, password, errors } = this.data
    const canLogin = phone && password && !errors.phone && !errors.password
    
    this.setData({
      canLogin
    })
  },

  /**
   * 登录处理
   */
  login: function () {
    if (!this.data.canLogin) return
    
    // 显示加载中
    wx.showLoading({
      title: '登录中...',
    })
    
    // 创建默认用户信息
    const userInfo = {
      phone: this.data.phone || '13800138000',
      nickName: '测试用户',
      avatar: '/static/images/avatar.png'
    }
    
    // 保存用户信息到全局数据
    app.globalData.userInfo = userInfo
    app.globalData.isLoggedIn = true
    
    // 保存到本地存储
    wx.setStorageSync('userInfo', userInfo)
    wx.setStorageSync('isLoggedIn', true)
    
    // 隐藏加载提示
    wx.hideLoading()
    
    // 提示登录成功
    wx.showToast({
      title: '登录成功',
      icon: 'success',
      duration: 1000
    })
    
    // 直接跳转到首页
    wx.switchTab({
      url: '/pages/index/index',
    })
  },

  /**
   * 跳转到注册页面
   */
  goToRegister: function () {
    wx.navigateTo({
      url: '/pages/register/register',
    })
  }
})